/**
 * Copyright &copy; 2012-2014 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.us.entity;

import java.util.Date;

import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Length;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.thinkgem.jeesite.common.persistence.DataEntity;
import com.thinkgem.jeesite.common.utils.excel.annotation.ExcelField;

/**
 * 美东美西正岗Entity
 * 
 * @author hui.li
 * @version 2016-09-24
 */
public class UsAttendanceAdp extends DataEntity<UsAttendanceAdp> {

	private static final long serialVersionUID = 1L;
	private String warehouse; // 仓库
	

	private String companyCode; // company_code
	private String employeeId; // employee_id
	private String lastName; // last_name
	private String payrollId; // payroll_id
	private String supervisor; // supervisor
	private String payCycles; // pay_cycles
	private String outType; // out_type
	private String workedDepartment; // worked_department
	private String state; // state
	private Date inTime; // in_time
	private Date outTime; // out_time
	private String outPunchType; // out_punch_type
	private String hours; // hours
	private String earningsCode; // earnings_code
	private String notes; // notes
	private String employeeCount;
	private Date beginDate;// 开始时间
	private Date endDate;// 结束时间
	private String status;
	private String stunden;
	
	private String companyId;//国家id
	private String officeId;//仓库id
	public String getWarehouse() {
		return warehouse;
	}

	public void setWarehouse(String warehouse) {
		this.warehouse = warehouse;
	}
	public String getEmployeeCount() {
		return employeeCount;
	}

	public void setEmployeeCount(String employeeCount) {
		this.employeeCount = employeeCount;
	}

	
	public String getStunden() {
		return stunden;
	}

	public void setStunden(String stunden) {
		this.stunden = stunden;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public UsAttendanceAdp() {
		super();
	}

	public UsAttendanceAdp(String id) {
		super(id);
	}

	@Length(min = 0, max = 64, message = "company_code长度必须介于 0 和 64 之间")
	@ExcelField(title = "companyCode", align = 2, sort = 20)
	public String getCompanyCode() {
		return companyCode;
	}

	public void setCompanyCode(String companyCode) {
		this.companyCode = companyCode;
	}

	@Length(min = 0, max = 64, message = "employee_id长度必须介于 0 和 64 之间")
	@ExcelField(title = "employeeId", align = 2, sort = 30)
	public String getEmployeeId() {
		return employeeId;
	}

	public void setEmployeeId(String employeeId) {
		this.employeeId = employeeId;
	}

	@Length(min = 0, max = 100, message = "last_name长度必须介于 0 和 100 之间")
	@ExcelField(title = "lastName", align = 2, sort = 40)
	public String getLastName() {
		return lastName;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	@Length(min = 0, max = 64, message = "payroll_id长度必须介于 0 和 64 之间")
	@ExcelField(title = "payrollId", align = 2, sort = 50)
	public String getPayrollId() {
		return payrollId;
	}

	public void setPayrollId(String payrollId) {
		this.payrollId = payrollId;
	}

	@Length(min = 0, max = 64, message = "supervisor长度必须介于 0 和 64 之间")
	@ExcelField(title = "supervisor", align = 2, sort = 60)
	public String getSupervisor() {
		return supervisor;
	}

	public void setSupervisor(String supervisor) {
		this.supervisor = supervisor;
	}

	@Length(min = 0, max = 100, message = "pay_cycles长度必须介于 0 和 100 之间")
	@ExcelField(title = "payCycles", align = 2, sort = 70)
	public String getPayCycles() {
		return payCycles;
	}

	public void setPayCycles(String payCycles) {
		this.payCycles = payCycles;
	}

	@Length(min = 0, max = 64, message = "out_type长度必须介于 0 和 64 之间")
	@ExcelField(title = "outType", align = 2, sort = 80)
	public String getOutType() {
		return outType;
	}

	public void setOutType(String outType) {
		this.outType = outType;
	}

	@Length(min = 0, max = 100, message = "worked_department长度必须介于 0 和 100 之间")
	@ExcelField(title = "workedDepartment", align = 2, sort = 90)
	public String getWorkedDepartment() {
		return workedDepartment;
	}

	public void setWorkedDepartment(String workedDepartment) {
		this.workedDepartment = workedDepartment;
	}

	@Length(min = 0, max = 64, message = "state长度必须介于 0 和 64 之间")
	@ExcelField(title = "state", align = 2, sort = 100)
	public String getState() {
		return state;
	}

	public void setState(String state) {
		this.state = state;
	}
	@JsonFormat(pattern = "MM/dd/yyyy HH:mm:ss")
	@NotNull(message = "日期不能为空")
	@ExcelField(title = "inTime", align = 2, sort = 110)
	public Date getInTime() {
		return inTime;
	}

	public void setInTime(Date inTime) {
		this.inTime = inTime;
	}
	
	@JsonFormat(pattern = "MM/dd/yyyy HH:mm:ss")
	@NotNull(message = "日期不能为空")
	@ExcelField(title = "outTime", align = 2, sort = 120)
	public Date getOutTime() {
		return outTime;
	}

	public void setOutTime(Date outTime) {
		this.outTime = outTime;
	}

	@Length(min = 0, max = 100, message = "out_punch_type长度必须介于 0 和 100 之间")
	@ExcelField(title = "outPunchType", align = 2, sort = 130)
	public String getOutPunchType() {
		return outPunchType;
	}

	public void setOutPunchType(String outPunchType) {
		this.outPunchType = outPunchType;
	}

	@Length(min = 0, max = 64, message = "hours长度必须介于 0 和 64 之间")
	@ExcelField(title = "hours", align = 2, sort = 140)
	public String getHours() {
		return hours;
	}

	public void setHours(String hours) {
		this.hours = hours;
	}

	@Length(min = 0, max = 64, message = "earnings_code长度必须介于 0 和 64 之间")
	@ExcelField(title = "earningsCode", align = 2, sort = 150)
	public String getEarningsCode() {
		return earningsCode;
	}

	public void setEarningsCode(String earningsCode) {
		this.earningsCode = earningsCode;
	}

	@Length(min = 0, max = 255, message = "notes长度必须介于 0 和 255 之间")
	@ExcelField(title = "notes", align = 2, sort = 160)
	public String getNotes() {
		return notes;
	}

	public void setNotes(String notes) {
		this.notes = notes;
	}

	public Date getBeginDate() {
		return beginDate;
	}

	public void setBeginDate(Date beginDate) {
		this.beginDate = beginDate;
	}

	public Date getEndDate() {
		return endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return super.toString();
	}

    
    public String getCompanyId() {
        return companyId;
    }

    
    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    
    public String getOfficeId() {
        return officeId;
    }

    
    public void setOfficeId(String officeId) {
        this.officeId = officeId;
    }
	
	
}